Autogenerated HTML docs for v1.7.0.3-291-g5e4f
diff --git a/config.txt b/config.txt index 1dbded0..06b2f82 100644 --- a/config.txt +++ b/config.txt
@@ -519,10 +519,12 @@ core.notesRef:: When showing commit messages, also show notes which are stored in the given ref. This ref is expected to contain files named - after the full SHA-1 of the commit they annotate. + after the full SHA-1 of the commit they annotate. The ref + must be fully qualified. + If such a file exists in the given ref, the referenced blob is read, and -appended to the commit message, separated by a "Notes:" line. If the +appended to the commit message, separated by a "Notes (<refname>):" +line (shortened to "Notes:" in the case of "refs/notes/commits"). If the given ref itself does not exist, it is not an error, but means that no notes should be printed. + @@ -1334,6 +1336,53 @@ mergetool.prompt:: Prompt before each invocation of the merge resolution program. +notes.displayRef:: + The (fully qualified) refname from which to show notes when + showing commit messages. The value of this variable can be set + to a glob, in which case notes from all matching refs will be + shown. You may also specify this configuration variable + several times. A warning will be issued for refs that do not + exist, but a glob that does not match any refs is silently + ignored. ++ +This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` +environment variable, which must be a colon separated list of refs or +globs. ++ +The effective value of "core.notesRef" (possibly overridden by +GIT_NOTES_REF) is also implicitly added to the list of refs to be +displayed. + +notes.rewrite.<command>:: + When rewriting commits with <command> (currently `amend` or + `rebase`) and this variable is set to `true`, git + automatically copies your notes from the original to the + rewritten commit. Defaults to `true`, but see + "notes.rewriteRef" below. ++ +This setting can be overridden with the `GIT_NOTES_REWRITE_REF` +environment variable, which must be a colon separated list of refs or +globs. + +notes.rewriteMode:: + When copying notes during a rewrite (see the + "notes.rewrite.<command>" option), determines what to do if + the target commit already has a note. Must be one of + `overwrite`, `concatenate`, or `ignore`. Defaults to + `concatenate`. ++ +This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` +environment variable. + +notes.rewriteRef:: + When copying notes during a rewrite, specifies the (fully + qualified) ref whose notes should be copied. The ref may be a + glob, in which case notes in all matching refs will be copied. + You may also specify this configuration several times. ++ +Does not have a default value; you must configure this variable to +enable note rewriting. + pack.window:: The size of the window used by linkgit:git-pack-objects[1] when no window size is given on the command line. Defaults to 10.
diff --git a/diff-generate-patch.txt b/diff-generate-patch.txt index 0f25ba7..8f9a241 100644 --- a/diff-generate-patch.txt +++ b/diff-generate-patch.txt
@@ -56,7 +56,8 @@ "git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or '--cc' option to produce 'combined diff'. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the '-m' option. A 'combined diff' format looks like this: ------------
diff --git a/git-config.html b/git-config.html index a9a98a1..4df5ea8 100644 --- a/git-config.html +++ b/git-config.html
@@ -1488,10 +1488,12 @@ <p> When showing commit messages, also show notes which are stored in the given ref. This ref is expected to contain files named - after the full SHA-1 of the commit they annotate. + after the full SHA-1 of the commit they annotate. The ref + must be fully qualified. </p> <div class="para"><p>If such a file exists in the given ref, the referenced blob is read, and -appended to the commit message, separated by a "Notes:" line. If the +appended to the commit message, separated by a "Notes (<refname>):" +line (shortened to "Notes:" in the case of "refs/notes/commits"). If the given ref itself does not exist, it is not an error, but means that no notes should be printed.</p></div> <div class="para"><p>This setting defaults to "refs/notes/commits", and can be overridden by @@ -3102,6 +3104,68 @@ </p> </dd> <dt> +notes.displayRef +</dt> +<dd> +<p> + The (fully qualified) refname from which to show notes when + showing commit messages. The value of this variable can be set + to a glob, in which case notes from all matching refs will be + shown. You may also specify this configuration variable + several times. A warning will be issued for refs that do not + exist, but a glob that does not match any refs is silently + ignored. +</p> +<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_DISPLAY_REF</tt> +environment variable, which must be a colon separated list of refs or +globs.</p></div> +<div class="para"><p>The effective value of "core.notesRef" (possibly overridden by +GIT_NOTES_REF) is also implicitly added to the list of refs to be +displayed.</p></div> +</dd> +<dt> +notes.rewrite.<command> +</dt> +<dd> +<p> + When rewriting commits with <command> (currently <tt>amend</tt> or + <tt>rebase</tt>) and this variable is set to <tt>true</tt>, git + automatically copies your notes from the original to the + rewritten commit. Defaults to <tt>true</tt>, but see + "notes.rewriteRef" below. +</p> +<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_REF</tt> +environment variable, which must be a colon separated list of refs or +globs.</p></div> +</dd> +<dt> +notes.rewriteMode +</dt> +<dd> +<p> + When copying notes during a rewrite (see the + "notes.rewrite.<command>" option), determines what to do if + the target commit already has a note. Must be one of + <tt>overwrite</tt>, <tt>concatenate</tt>, or <tt>ignore</tt>. Defaults to + <tt>concatenate</tt>. +</p> +<div class="para"><p>This setting can be overridden with the <tt>GIT_NOTES_REWRITE_MODE</tt> +environment variable.</p></div> +</dd> +<dt> +notes.rewriteRef +</dt> +<dd> +<p> + When copying notes during a rewrite, specifies the (fully + qualified) ref whose notes should be copied. The ref may be a + glob, in which case notes in all matching refs will be copied. + You may also specify this configuration several times. +</p> +<div class="para"><p>Does not have a default value; you must configure this variable to +enable note rewriting.</p></div> +</dd> +<dt> pack.window </dt> <dd> @@ -3807,7 +3871,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-20 20:59:12 UTC +Last updated 2010-03-25 00:38:20 UTC </div> </div> </body>
diff --git a/git-describe.html b/git-describe.html index 74066be..b94326e 100644 --- a/git-describe.html +++ b/git-describe.html
@@ -477,7 +477,10 @@ <div class="para"><p>The number of additional commits is the number of commits which would be displayed by "git log v1.0.4..parent". The hash suffix is "-g" + 7-char abbreviation for the tip commit -of parent (which was <tt>2414721b194453f058079d897d13c4e377f92dc6</tt>).</p></div> +of parent (which was <tt>2414721b194453f058079d897d13c4e377f92dc6</tt>). +The "g" prefix stands for "git" and is used to allow describing the version of +a software depending on the SCM the software is managed with. This is useful +in an environment where people may use different SCMs.</p></div> <div class="para"><p>Doing a <em>git describe</em> on a tag-name will just show the tag name:</p></div> <div class="literalblock"> <div class="content"> @@ -542,7 +545,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-02-13 00:59:39 UTC +Last updated 2010-03-25 00:38:20 UTC </div> </div> </body>
diff --git a/git-describe.txt b/git-describe.txt index 6fc5323..7ef9d51 100644 --- a/git-describe.txt +++ b/git-describe.txt
@@ -105,6 +105,9 @@ of commits which would be displayed by "git log v1.0.4..parent". The hash suffix is "-g" + 7-char abbreviation for the tip commit of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`). +The "g" prefix stands for "git" and is used to allow describing the version of +a software depending on the SCM the software is managed with. This is useful +in an environment where people may use different SCMs. Doing a 'git describe' on a tag-name will just show the tag name:
diff --git a/git-diff-files.html b/git-diff-files.html index 40b7e0e..61adf9a 100644 --- a/git-diff-files.html +++ b/git-diff-files.html
@@ -1181,7 +1181,8 @@ <div class="sectionbody"> <div class="para"><p>"git-diff-tree", "git-diff-files" and "git-diff" can take <em>-c</em> or <em>--cc</em> option to produce <em>combined diff</em>. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the <em>-m</em> option. A <em>combined diff</em> format looks like this:</p></div> <div class="listingblock"> <div class="content"> @@ -1430,7 +1431,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-03 05:12:39 UTC +Last updated 2010-03-25 00:38:21 UTC </div> </div> </body>
diff --git a/git-diff-index.html b/git-diff-index.html index da5acec..883ed3a 100644 --- a/git-diff-index.html +++ b/git-diff-index.html
@@ -1165,7 +1165,8 @@ <div class="sectionbody"> <div class="para"><p>"git-diff-tree", "git-diff-files" and "git-diff" can take <em>-c</em> or <em>--cc</em> option to produce <em>combined diff</em>. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the <em>-m</em> option. A <em>combined diff</em> format looks like this:</p></div> <div class="listingblock"> <div class="content"> @@ -1508,7 +1509,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-03 05:12:39 UTC +Last updated 2010-03-25 00:38:22 UTC </div> </div> </body>
diff --git a/git-diff-tree.html b/git-diff-tree.html index de6397f..e376000 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html
@@ -994,7 +994,7 @@ --no-notes </dt> <dt> ---show-notes +--show-notes[=<ref>] </dt> <dd> <p> @@ -1004,6 +1004,19 @@ there is no <tt>--pretty</tt>, <tt>--format</tt> nor <tt>--oneline</tt> option is given on the command line. </p> +<div class="para"><p>With an optional argument, add this ref to the list of notes. The ref +is taken to be in <tt>refs/notes/</tt> if it is not qualified.</p></div> +</dd> +<dt> +--[no-]standard-notes +</dt> +<dd> +<p> + Enable or disable populating the notes ref list from the + <em>core.notesRef</em> and <em>notes.displayRef</em> variables (or + corresponding environment overrides). Enabled by default. + See <a href="git-config.html">git-config(1)</a>. +</p> </dd> <dt> --no-commit-id @@ -1806,7 +1819,8 @@ <div class="sectionbody"> <div class="para"><p>"git-diff-tree", "git-diff-files" and "git-diff" can take <em>-c</em> or <em>--cc</em> option to produce <em>combined diff</em>. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the <em>-m</em> option. A <em>combined diff</em> format looks like this:</p></div> <div class="listingblock"> <div class="content"> @@ -2055,7 +2069,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-03 05:12:40 UTC +Last updated 2010-03-25 00:38:22 UTC </div> </div> </body>
diff --git a/git-diff.html b/git-diff.html index 1be6239..2c80b03 100644 --- a/git-diff.html +++ b/git-diff.html
@@ -1227,7 +1227,8 @@ <div class="sectionbody"> <div class="para"><p>"git-diff-tree", "git-diff-files" and "git-diff" can take <em>-c</em> or <em>--cc</em> option to produce <em>combined diff</em>. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the <em>-m</em> option. A <em>combined diff</em> format looks like this:</p></div> <div class="listingblock"> <div class="content"> @@ -1637,7 +1638,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-03 05:12:40 UTC +Last updated 2010-03-25 00:38:22 UTC </div> </div> </body>
diff --git a/git-log.html b/git-log.html index 8ea5299..868cdcb 100644 --- a/git-log.html +++ b/git-log.html
@@ -983,7 +983,7 @@ --no-notes </dt> <dt> ---show-notes +--show-notes[=<ref>] </dt> <dd> <p> @@ -993,6 +993,19 @@ there is no <tt>--pretty</tt>, <tt>--format</tt> nor <tt>--oneline</tt> option is given on the command line. </p> +<div class="para"><p>With an optional argument, add this ref to the list of notes. The ref +is taken to be in <tt>refs/notes/</tt> if it is not qualified.</p></div> +</dd> +<dt> +--[no-]standard-notes +</dt> +<dd> +<p> + Enable or disable populating the notes ref list from the + <em>core.notesRef</em> and <em>notes.displayRef</em> variables (or + corresponding environment overrides). Enabled by default. + See <a href="git-config.html">git-config(1)</a>. +</p> </dd> <dt> --relative-date @@ -1096,8 +1109,8 @@ </dt> <dd> <p> - This flag changes the way a merge commit is displayed. It shows - the differences from each of the parents to the merge result + With this option, diff output for a merge commit + shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents. @@ -1115,6 +1128,19 @@ </p> </dd> <dt> +-m +</dt> +<dd> +<p> + This flag makes the merge commits show the full diff like + regular commits; for each merge parent, a separate log entry + and diff is generated. An exception is that only diff against + the first parent is shown when <em>--first-parent</em> option is given; + in that case, the output represents the changes the merge + brought _into_ the then-current branch. +</p> +</dd> +<dt> -r </dt> <dd> @@ -2288,7 +2314,8 @@ <div class="sectionbody"> <div class="para"><p>"git-diff-tree", "git-diff-files" and "git-diff" can take <em>-c</em> or <em>--cc</em> option to produce <em>combined diff</em>. For showing a merge commit -with "git log -p", this is the default format. +with "git log -p", this is the default format; you can force showing +full diff with the <em>-m</em> option. A <em>combined diff</em> format looks like this:</p></div> <div class="listingblock"> <div class="content"> @@ -2477,6 +2504,18 @@ repository master branches. </p> </dd> +<dt> +git log -p -m --first-parent +</dt> +<dd> +<p> + Shows the history including change diffs, but only from the + "main branch" perspective, skipping commits that come from merged + branches, and showing full diffs of changes introduced by the merges. + This makes sense only when following a strict policy of merging all + topic branches when staying on a single integration branch. +</p> +</dd> </dl></div> </div> <h2 id="_discussion">Discussion</h2> @@ -2568,7 +2607,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-03 05:12:42 UTC +Last updated 2010-03-25 00:38:23 UTC </div> </div> </body>
diff --git a/git-log.txt b/git-log.txt index 0e39bb6..fb184ba 100644 --- a/git-log.txt +++ b/git-log.txt
@@ -118,6 +118,15 @@ Shows all commits that are in local master but not in any remote repository master branches. +git log -p -m --first-parent:: + + Shows the history including change diffs, but only from the + "main branch" perspective, skipping commits that come from merged + branches, and showing full diffs of changes introduced by the merges. + This makes sense only when following a strict policy of merging all + topic branches when staying on a single integration branch. + + Discussion ----------
diff --git a/git-notes.html b/git-notes.html index 67262f8..317dac1 100644 --- a/git-notes.html +++ b/git-notes.html
@@ -323,7 +323,7 @@ <div class="verseblock"> <div class="content"><em>git notes</em> [list [<object>]] <em>git notes</em> add [-f] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] -<em>git notes</em> copy [-f] <from-object> <to-object> +<em>git notes</em> copy [-f] ( --stdin | <from-object> <to-object> ) <em>git notes</em> append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] <em>git notes</em> edit [<object>] <em>git notes</em> show [<object>] @@ -338,11 +338,15 @@ to change the commit itself. Such commit notes can be shown by <tt>git log</tt> along with the original commit message. To discern these notes from the message stored in the commit object, the notes are indented like the -message, after an unindented line saying "Notes:".</p></div> -<div class="para"><p>To disable notes, you have to set the config variable core.notesRef to -the empty string. Alternatively, you can set it to a different ref, -something like "refs/notes/bugzilla". This setting can be overridden -by the environment variable "GIT_NOTES_REF".</p></div> +message, after an unindented line saying "Notes (<refname>):" (or +"Notes:" for the default setting).</p></div> +<div class="para"><p>This command always manipulates the notes specified in "core.notesRef" +(see <a href="git-config.html">git-config(1)</a>), which can be overridden by GIT_NOTES_REF. +To change which notes are shown by <em>git-log</em>, see the +"notes.displayRef" configuration.</p></div> +<div class="para"><p>See the description of "notes.rewrite.<command>" in +<a href="git-config.html">git-config(1)</a> for a way of carrying your notes across commands +that rewrite commits.</p></div> </div> <h2 id="_subcommands">SUBCOMMANDS</h2> <div class="sectionbody"> @@ -379,6 +383,14 @@ second object). This subcommand is equivalent to: <tt>git notes add [-f] -C $(git notes list <from-object>) <to-object></tt> </p> +<div class="para"><p>In <tt>--stdin</tt> mode, take lines in the format</p></div> +<div class="listingblock"> +<div class="content"> +<pre><tt><from-object> SP <to-object> [ SP <rest> ] LF</tt></pre> +</div></div> +<div class="para"><p>on standard input, and copy the notes from each <from-object> to its +corresponding <to-object>. (The optional <tt><rest></tt> is ignored so that +the command can read the input given to the <tt>post-rewrite</tt> hook.)</p></div> </dd> <dt> append @@ -488,8 +500,28 @@ the user can further edit the note message. </p> </dd> +<dt> +--ref <ref> +</dt> +<dd> +<p> + Manipulate the notes tree in <ref>. This overrides both + GIT_NOTES_REF and the "core.notesRef" configuration. The ref + is taken to be in <tt>refs/notes/</tt> if it is not qualified. +</p> +</dd> </dl></div> </div> +<h2 id="_notes">NOTES</h2> +<div class="sectionbody"> +<div class="para"><p>Every notes change creates a new commit at the specified notes ref. +You can therefore inspect the history of the notes by invoking, e.g., +<tt>git log -p notes/commits</tt>.</p></div> +<div class="para"><p>Currently the commit message only records which operation triggered +the update, and the commit authorship is determined according to the +usual rules (see <a href="git-commit.html">git-commit(1)</a>). These details may change in +the future.</p></div> +</div> <h2 id="_author">Author</h2> <div class="sectionbody"> <div class="para"><p>Written by Johannes Schindelin <johannes.schindelin@gmx.de> and @@ -505,7 +537,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-03-15 20:32:31 UTC +Last updated 2010-03-25 00:38:23 UTC </div> </div> </body>
diff --git a/git-notes.txt b/git-notes.txt index bef2f39..4e5113b 100644 --- a/git-notes.txt +++ b/git-notes.txt
@@ -10,7 +10,7 @@ [verse] 'git notes' [list [<object>]] 'git notes' add [-f] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] -'git notes' copy [-f] <from-object> <to-object> +'git notes' copy [-f] ( --stdin | <from-object> <to-object> ) 'git notes' append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] 'git notes' edit [<object>] 'git notes' show [<object>] @@ -27,12 +27,17 @@ to change the commit itself. Such commit notes can be shown by `git log` along with the original commit message. To discern these notes from the message stored in the commit object, the notes are indented like the -message, after an unindented line saying "Notes:". +message, after an unindented line saying "Notes (<refname>):" (or +"Notes:" for the default setting). -To disable notes, you have to set the config variable core.notesRef to -the empty string. Alternatively, you can set it to a different ref, -something like "refs/notes/bugzilla". This setting can be overridden -by the environment variable "GIT_NOTES_REF". +This command always manipulates the notes specified in "core.notesRef" +(see linkgit:git-config[1]), which can be overridden by GIT_NOTES_REF. +To change which notes are shown by 'git-log', see the +"notes.displayRef" configuration. + +See the description of "notes.rewrite.<command>" in +linkgit:git-config[1] for a way of carrying your notes across commands +that rewrite commits. SUBCOMMANDS @@ -55,6 +60,16 @@ object has none (use -f to overwrite existing notes to the second object). This subcommand is equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-object>` ++ +In `\--stdin` mode, take lines in the format ++ +---------- +<from-object> SP <to-object> [ SP <rest> ] LF +---------- ++ +on standard input, and copy the notes from each <from-object> to its +corresponding <to-object>. (The optional `<rest>` is ignored so that +the command can read the input given to the `post-rewrite` hook.) append:: Append to the notes of an existing object (defaults to HEAD). @@ -101,6 +116,25 @@ Like '-C', but with '-c' the editor is invoked, so that the user can further edit the note message. +--ref <ref>:: + Manipulate the notes tree in <ref>. This overrides both + GIT_NOTES_REF and the "core.notesRef" configuration. The ref + is taken to be in `refs/notes/` if it is not qualified. + + +NOTES +----- + +Every notes change creates a new commit at the specified notes ref. +You can therefore inspect the history of the notes by invoking, e.g., +`git log -p notes/commits`. + +Currently the commit message only records which operation triggered +the update, and the commit authorship is determined according to the +usual rules (see linkgit:git-commit[1]). These details may change in +the future. + + Author ------ Written by Johannes Schindelin <johannes.schindelin@gmx.de> and
diff --git a/git-rev-list.html b/git-rev-list.html index 806b993..b88a25b 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -463,7 +463,7 @@ --no-notes </dt> <dt> ---show-notes +--show-notes[=<ref>] </dt> <dd> <p> @@ -473,6 +473,19 @@ there is no <tt>--pretty</tt>, <tt>--format</tt> nor <tt>--oneline</tt> option is given on the command line. </p> +<div class="para"><p>With an optional argument, add this ref to the list of notes. The ref +is taken to be in <tt>refs/notes/</tt> if it is not qualified.</p></div> +</dd> +<dt> +--[no-]standard-notes +</dt> +<dd> +<p> + Enable or disable populating the notes ref list from the + <em>core.notesRef</em> and <em>notes.displayRef</em> variables (or + corresponding environment overrides). Enabled by default. + See <a href="git-config.html">git-config(1)</a>. +</p> </dd> <dt> --relative-date @@ -1768,7 +1781,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-02-19 09:57:46 UTC +Last updated 2010-03-25 00:38:24 UTC </div> </div> </body>
diff --git a/git-show.html b/git-show.html index ab1c711..7798012 100644 --- a/git-show.html +++ b/git-show.html
@@ -403,7 +403,7 @@ --no-notes </dt> <dt> ---show-notes +--show-notes[=<ref>] </dt> <dd> <p> @@ -413,6 +413,19 @@ there is no <tt>--pretty</tt>, <tt>--format</tt> nor <tt>--oneline</tt> option is given on the command line. </p> +<div class="para"><p>With an optional argument, add this ref to the list of notes. The ref +is taken to be in <tt>refs/notes/</tt> if it is not qualified.</p></div> +</dd> +<dt> +--[no-]standard-notes +</dt> +<dd> +<p> + Enable or disable populating the notes ref list from the + <em>core.notesRef</em> and <em>notes.displayRef</em> variables (or + corresponding environment overrides). Enabled by default. + See <a href="git-config.html">git-config(1)</a>. +</p> </dd> </dl></div> </div> @@ -961,7 +974,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-02-13 00:59:57 UTC +Last updated 2010-03-25 00:38:25 UTC </div> </div> </body>
diff --git a/git-whatchanged.html b/git-whatchanged.html index 51b75c2..8b3f316 100644 --- a/git-whatchanged.html +++ b/git-whatchanged.html
@@ -435,7 +435,7 @@ --no-notes </dt> <dt> ---show-notes +--show-notes[=<ref>] </dt> <dd> <p> @@ -445,6 +445,19 @@ there is no <tt>--pretty</tt>, <tt>--format</tt> nor <tt>--oneline</tt> option is given on the command line. </p> +<div class="para"><p>With an optional argument, add this ref to the list of notes. The ref +is taken to be in <tt>refs/notes/</tt> if it is not qualified.</p></div> +</dd> +<dt> +--[no-]standard-notes +</dt> +<dd> +<p> + Enable or disable populating the notes ref list from the + <em>core.notesRef</em> and <em>notes.displayRef</em> variables (or + corresponding environment overrides). Enabled by default. + See <a href="git-config.html">git-config(1)</a>. +</p> </dd> </dl></div> </div> @@ -900,7 +913,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-02-13 01:00:00 UTC +Last updated 2010-03-25 00:38:25 UTC </div> </div> </body>
diff --git a/githooks.html b/githooks.html index 9b3965c..44f7668 100644 --- a/githooks.html +++ b/githooks.html
@@ -558,6 +558,43 @@ <div class="para"><p>This hook is invoked by <em>git gc --auto</em>. It takes no parameter, and exiting with non-zero status from this script causes the <em>git gc --auto</em> to abort.</p></div> +<h3 id="_post_rewrite">post-rewrite</h3><div style="clear:left"></div> +<div class="para"><p>This hook is invoked by commands that rewrite commits (<tt>git commit +--amend</tt>, <em>git-rebase</em>; currently <em>git-filter-branch</em> does <em>not</em> call +it!). Its first argument denotes the command it was invoked by: +currently one of <tt>amend</tt> or <tt>rebase</tt>. Further command-dependent +arguments may be passed in the future.</p></div> +<div class="para"><p>The hook receives a list of the rewritten commits on stdin, in the +format</p></div> +<div class="literalblock"> +<div class="content"> +<pre><tt><old-sha1> SP <new-sha1> [ SP <extra-info> ] LF</tt></pre> +</div></div> +<div class="para"><p>The <em>extra-info</em> is again command-dependent. If it is empty, the +preceding SP is also omitted. Currently, no commands pass any +<em>extra-info</em>.</p></div> +<div class="para"><p>The hook always runs after the automatic note copying (see +"notes.rewrite.<command>" in linkgit:git-config.txt) has happened, and +thus has access to these notes.</p></div> +<div class="para"><p>The following command-specific comments apply:</p></div> +<div class="vlist"><dl> +<dt> +rebase +</dt> +<dd> +<p> + For the <em>squash</em> and <em>fixup</em> operation, all commits that were + squashed are listed as being rewritten to the squashed commit. + This means that there will be several lines sharing the same + <em>new-sha1</em>. +</p> +<div class="para"><p>The commits are guaranteed to be listed in the order that they were +processed by rebase.</p></div> +</dd> +</dl></div> +<div class="para"><p>There is no default <em>post-rewrite</em> hook, but see the +<tt>post-receive-copy-notes</tt> script in <tt>contrib/hooks</tt> for an example +that copies your git-notes to the rewritten commits.</p></div> </div> <h2 id="_git">GIT</h2> <div class="sectionbody"> @@ -565,7 +602,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2010-02-13 01:00:02 UTC +Last updated 2010-03-25 00:38:25 UTC </div> </div> </body>
diff --git a/githooks.txt b/githooks.txt index 87e2c03..7183aa9 100644 --- a/githooks.txt +++ b/githooks.txt
@@ -317,6 +317,44 @@ exiting with non-zero status from this script causes the 'git gc --auto' to abort. +post-rewrite +~~~~~~~~~~~~ + +This hook is invoked by commands that rewrite commits (`git commit +--amend`, 'git-rebase'; currently 'git-filter-branch' does 'not' call +it!). Its first argument denotes the command it was invoked by: +currently one of `amend` or `rebase`. Further command-dependent +arguments may be passed in the future. + +The hook receives a list of the rewritten commits on stdin, in the +format + + <old-sha1> SP <new-sha1> [ SP <extra-info> ] LF + +The 'extra-info' is again command-dependent. If it is empty, the +preceding SP is also omitted. Currently, no commands pass any +'extra-info'. + +The hook always runs after the automatic note copying (see +"notes.rewrite.<command>" in linkgit:git-config.txt) has happened, and +thus has access to these notes. + +The following command-specific comments apply: + +rebase:: + For the 'squash' and 'fixup' operation, all commits that were + squashed are listed as being rewritten to the squashed commit. + This means that there will be several lines sharing the same + 'new-sha1'. ++ +The commits are guaranteed to be listed in the order that they were +processed by rebase. + +There is no default 'post-rewrite' hook, but see the +`post-receive-copy-notes` script in `contrib/hooks` for an example +that copies your git-notes to the rewritten commits. + + GIT --- Part of the linkgit:git[1] suite
diff --git a/pretty-options.txt b/pretty-options.txt index aa96cae..af6d2b9 100644 --- a/pretty-options.txt +++ b/pretty-options.txt
@@ -30,9 +30,18 @@ defaults to UTF-8. --no-notes:: ---show-notes:: +--show-notes[=<ref>]:: Show the notes (see linkgit:git-notes[1]) that annotate the commit, when showing the commit log message. This is the default for `git log`, `git show` and `git whatchanged` commands when there is no `--pretty`, `--format` nor `--oneline` option is given on the command line. ++ +With an optional argument, add this ref to the list of notes. The ref +is taken to be in `refs/notes/` if it is not qualified. + +--[no-]standard-notes:: + Enable or disable populating the notes ref list from the + 'core.notesRef' and 'notes.displayRef' variables (or + corresponding environment overrides). Enabled by default. + See linkgit:git-config[1].
diff --git a/rev-list-options.txt b/rev-list-options.txt index 81c0e6f..b9fb7a8 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt
@@ -108,8 +108,8 @@ -c:: - This flag changes the way a merge commit is displayed. It shows - the differences from each of the parents to the merge result + With this option, diff output for a merge commit + shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents. @@ -121,6 +121,15 @@ the parents have only two variants and the merge result picks one of them without modification. +-m:: + + This flag makes the merge commits show the full diff like + regular commits; for each merge parent, a separate log entry + and diff is generated. An exception is that only diff against + the first parent is shown when '--first-parent' option is given; + in that case, the output represents the changes the merge + brought _into_ the then-current branch. + -r:: Show recursive diffs.